// 编写一函数，由实参传来一个字符串，统计此字符串中字母、数字、空格和其它字符的个数，
// 在主函数中输入字符串以及输出上述结果。 
// 只要结果，别输出什么提示信息。

#include<stdio.h>
#include<string.h>

int main(void){
    void Cacul(char str[], int cac[]);
    char str[100]={0};int sca[4]={0}; //初始化,不然就是地址值
    scanf("%[^\n]", str); //除了回车键全部读入
    Cacul(str, sca);
    for (int i=0;i<4;i++){
        printf("%d ", sca[i]);
    }
    return 0;
}

void Cacul(char str[], int cac[]){
    for (int i=0; str[i]!='\0'; i++){
        if ((str[i] >= 'a' && str[i]<='z') || (str[i] >= 'A' && str[i] <= 'Z')){
            cac[0]+=1;
        }
        else if (str[i] >= '0' && str[i]<='9'){
            cac[1]+=1;
        }
        else if (str[i] == ' ' ){
            cac[2]+=1;
        }
        else{
            cac[3]+=1;
        }
    }
}

